﻿using System.IO;
using System.Windows;


namespace ThePresenter.IO
{
	/// <summary>
	/// Provides a mechanism for reading presentations from stream.
	/// </summary>
	public interface IReader : IFormat
	{
		/// <summary>
		/// Reads the specified stream and tries to create new presentation from it.
		/// </summary>
		/// <param name="config">The configuration object.</param>
		/// <param name="stream">The stream to read from.</param>
		/// <param name="presentation">The presentation.</param>
		/// <exception cref="ThePresenter.ReadException"/>
		void Read(DependencyObject config, Stream stream, out Presentation presentation);
	}
}
